Bus bridging is a common problem as more and more embedded processors (EP) are integrated onto a device. Bus bridging allows the integration of embedded processors without redesigning the interfaces on the embedded processors or modifying the specification of a given bus for a specific design or application.
Conventional bridge core devices are designed to interface between a specific set of bus types. Once the design is completed for one set of bus types, the resulting architecture cannot easily be re-targeted for another application involving a different set of bus types. Additionally, the connection to a specific bus interface is very design or application specific and the logic of the bridge becomes intertwined with the logic of the device. Another reason the bridges are not easily separated or re-used is that one of the bus interfaces (usually an internal one) can become limited or configured to operate under a very specific set of circumstances.